home *** CD-ROM | disk | FTP | other *** search
/ Web3D Graphics - Virtual Worlds Created With VRML / Web3D Graphics - Virtual Worlds Created With VRML.iso / List / AppB / listB-1a.cgi next >
Encoding:
Text File  |  2001-01-21  |  2.2 KB  |  108 lines

  1. #!C:/Perl/bin/perl
  2.  
  3. # âëâCâuâëâèü[é╠ÅÇö⌡
  4. require 'cgi-lib.pl';
  5.  
  6. #âtâHü[âÇâfü[â^é≡ô╟é▐
  7. &ReadParse(*Form);
  8.  
  9. #âtâHü[âÇâfü[â^é╠èeìÇû┌é≡ô╛éΘ
  10. $ply1=$Form{'ply1'};
  11. $ply2=$Form{'ply2'};
  12. $rd=$Form{'rd'}-1;
  13. $color=$Form{'Color'};
  14. $ring=$Form{'Ring'};
  15. $graph=$Form{'Graph'};
  16. $pai=3.14;
  17.  
  18. #éléhélédâ^âCâvé≡Åoù═é╖éΘ
  19. if($graph eq "g"){
  20.     print "Content-type:model/vrml\n\n";
  21.     $mk=" ";
  22. }else{
  23.     print "Content-type:text/html\n\n";
  24.     print "<html>";
  25.     print "<body bgcolor=ffffcc>";
  26.     $mk="<br>";
  27. }
  28.  
  29. #ê╚ë║üAéuéqéléké╠âRü[âhé≡Åoù═é╖éΘ
  30. print "#VRML V2.0 utf8".$mk."\n";
  31. print "Background{".$mk."\n";
  32. print "skyColor [1 1 1]".$mk."\n";
  33. print "}".$mk."\n";
  34. print "#âèâôâO".$mk."\n";
  35. print "Transform{".$mk."\n";
  36. print "rotation 0 0 1 1.57".$mk."\n";
  37. print "scale    0.45 0.45 0.45".$mk."\n";
  38. print "children[".$mk."\n";
  39. print "#âèâôâOé╠î┤î^ÆΦï`".$mk."\n";
  40. print "DEF Ring Shape{".$mk."\n";
  41. print "geometry Extrusion{".$mk."\n";
  42. print "crossSection[".$mk."\n";
  43.  
  44. #crossSectioné╠îvÄZèJÄn
  45. for($i=0;$i<=$ply1-1;$i++){
  46.     $x=cos($i*(2*$pai/$ply1));
  47.     $z=sin($i*(2*$pai/$ply1));
  48.     print "$x $z,".$mk."\n";
  49. }
  50. print "1 0".$mk."\n";
  51. #crossSectioné╠îvÄZÅIù╣
  52.  
  53. print "]".$mk."\n";
  54. print "spine[".$mk."\n";
  55.  
  56. #spineé╠îvÄZèJÄn
  57. for($i=0;$i<=$ply2-1;$i++){
  58.     $x=$rd*cos($i*(2*$pai/$ply2));
  59.     $y=$rd*sin($i*(2*$pai/$ply2));
  60.     $z=0;
  61.     print "$x $y $z,".$mk."\n";
  62. }
  63. print "$rd 0 0".$mk."\n";
  64. #spineé╠îvÄZÅIù╣
  65.  
  66. print "]".$mk."\n";
  67. print "solid FALSE".$mk."\n";
  68. print "}".$mk."\n";
  69. print "appearance Appearance{".$mk."\n";
  70. print "material Material{".$mk."\n";
  71.  
  72. #ÉFé╠É▌ÆΦèJÄn
  73. if($color eq "r"){
  74.     print "diffuseColor 1 0 0".$mk."\n";
  75. }elsif($color eq "g"){
  76.     print "diffuseColor 0 1 0".$mk."\n";
  77. }elsif($color eq "b"){
  78.     print "diffuseColor 0 0 1".$mk."\n";
  79. }
  80. #ÉFé╠É▌ÆΦÅIù╣
  81.  
  82. print "}".$mk."\n";
  83. print "}".$mk."\n";
  84.  
  85. #æµéQâèâôâOé╠É╢ɼèJÄn
  86. if($ring eq "y"){
  87.     print "},".$mk."\n";
  88.     print "#âèâôâOé╠î┤î^ùÿùp".$mk."\n";
  89.     print "Transform{".$mk."\n";
  90.     print "translation 0 -$rd 0".$mk."\n";
  91.     print "rotation 0 1 0 1.57".$mk."\n";
  92.     print "children[ USE Ring ]".$mk."\n";
  93.     print "}".$mk."\n";
  94. }else{
  95.     print "}".$mk."\n";
  96. }
  97. #æµéQâèâôâOé╠É╢ɼÅIù╣
  98.  
  99. print "]".$mk."\n";
  100. print "}".$mk."\n"; 
  101.  
  102. if(graph!="g"){
  103.     print "</body>";
  104.     print "</html>";
  105. }
  106.  
  107. exit;
  108.